home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / grafik / bildanzeiger / jpegaga / doc / jpegaga.dok < prev    next >
Text File  |  1995-03-09  |  14KB  |  385 lines

  1.  
  2.                          jpegAGA 1.1 von Günther Röhrich
  3.                          *******************************
  4.  
  5.  
  6. jpegAGA ist ein Anzeigeprogramm für JPEG-Bilder mit der derzeit besten
  7. Bildqualität. (sofern eine map-Datei für das Bild vorhanden ist) Zur Anzeige
  8. ist der AGA-Chipsatz, ein 68020 Prozessor (oder höher) sowie OS 3.0 (oder höher)
  9. erforderlich. Es wird der HAM8-Modus verwendet, lediglich die Graustufendar-
  10. stellung erfolgt im 256-Farben-Modus. 
  11.  
  12. Wenn zu dem JPEG-Bild eine vorberechnete Farbpalette in Form einer Datei
  13. mit der Endung .map vorhanden ist dann erfolgt die Anzeige in einer Bild-
  14. qualität, die von keinem anderen Anzeigeprogramm bisher erreicht wird.
  15. Mit Hilfe der beigefügten Programme und des Shell-Skripts kann zu jedem
  16. Bild eine solche map-Datei, die lediglich 198 Bytes lang ist, erzeugt werden.
  17.  
  18. Falls keine map-Datei vorhanden ist, dann erfolgt die Anzeige in schlechterer
  19. Qualität. Für Graustufendarstellung wird diese Datei nicht benötigt. 
  20.  
  21.  
  22. Die Vorteile von jpegAGA:
  23.  
  24. - sehr gute Bildqualität (besser als bei allen anderen Anzeigeprogrammen)
  25. - vollständiger Quelltext ist vorhanden
  26. - größtmögliche Kompatibilität zu allen JPEG-Bildern da zur Dekodierung der
  27.   JPEG-Quelltext der Independent JPEG Group im Originalzustand verwendet wird
  28. - hohe Geschwindigkeit durch Verwendung des GNU C Compilers und des direkt in
  29.   Assembler programmierten 24-bit-RGB nach HAM8 Wandlers
  30. - Unterstützung des Graustufen-JPEG Formats sowie Anzeige von Farbbildern in
  31.   Graustufen 
  32. - Auswahl des Bildschirmmodus nach der Größe des Bildes
  33.  
  34.  
  35.  
  36. Bevor ich mit der Anleitung anfange muß ich aber noch folgendes loswerden:
  37.  
  38. Dieses Programm ist Public Domain (d.h. man braucht nichts zu bezahlen). Der
  39. beigefügte Quelltext kann nach Belieben verwendet werden. Für den JPEG-Quell-
  40. text sind die Hinweise in der Datei README zu beachten.
  41.  
  42.  
  43. Bedanken möchte ich mich noch bei folgenden Personen:
  44.  
  45. The Independent JPEG Group (jpeg-info@uunet.uu.net):
  46.  für den Quelltext zum Dekodieren des JPEG-Bildformats
  47.  
  48. Free Software Foundation, Inc. sowie allen Mitwirkenden für die Entwicklung 
  49.  des GNU C Compilers und der weiteren Software
  50.  
  51. ***********************************************************************
  52.  
  53. So, nun sollte ich mal zum Wesentlichen kommen:
  54.  
  55.  
  56. Installation:
  57. *************
  58.  
  59. Die Programme aus dem bin-Verzeichnis können in ein beliebiges Verzeichnis
  60. kopiert werden, sie sollten sich aber im Suchpfad der Shell befinden. Die
  61. Endung der Dateien gibt an für welchen Prozessor sie gedacht sind, nach der
  62. Installation sollte man aber die Endungen entfernen.
  63.  
  64. Endung 000:   68000 oder 68010 Prozessor (läuft auch auf allen anderen)
  65. Endung 020:   68020 oder höhere Prozessoren
  66.  
  67. Die Programme wurden mit GNU C 2.5.8 übersetzt und benötigen daher die
  68. ixemul.library im LIBS: Verzeichnis. (Version 40 oder höher)
  69.  
  70. Für die Verwendung des Shell-Skripts CreateMap muß JPEGTMP: mit einem assign-
  71. Befehl an ein Verzeichnis auf einer Festplatte mit ausreichend Speicherplatz
  72. zugewiesen werden. (z.B. assign JPEGTMP: HD:T) Die Programme djpeg und cjpeg
  73. greifen unter Umständen ebenfalls darauf zu.
  74. Am Besten schreibt man diesen Befehl in die User-Startup Datei damit er nach
  75. jedem Neustart ausgeführt wird.
  76.  
  77. Das Shell-Skript CreateMap muß in das S: Verzeichnis kopiert werden. Es setzt
  78. voraus daß sich die Programme mit den Namen djpeg sowie ppm2AGA im Suchpfad der
  79. Shell befinden und daß ein JPEGTMP: Verzeichnis existiert.
  80.  
  81.  
  82. Der Aufruf von jpegAGA geschieht wie folgt:
  83.  
  84.   jpegAGA Eingabedatei Optionen
  85.  
  86.  
  87. Eingabedatei:
  88. *************
  89.  
  90. Die JPEG-Datei, die gelesen soll. Graustufenbilder werden gesondert behandelt
  91. und werden direkt ohne aufwendige Umrechnung auf einem 256-Farben-Bildschirm
  92. angezeigt. Leider gibt es auch Graustufenbilder die fälschlicherweise als
  93. Farbbilder codiert wurden. In diesem Fall sollte man die -GRAY Option verwen-
  94. den. (Und schick eine Beschwerde an denjenigen, der das Bild erzeugt hat.)
  95. Bei der Anzeige in Farbe wird, falls vorhanden, die map-Datei des jeweiligen
  96. Bildes mit verwendet. Die map-Datei muß den Namen des Bildes mit der zugefügten
  97. Endung .map haben. Zur Unterstützung des PC-Dateisystems wird aber auch ein
  98. Namen unterstützt, der sich durch Ersetzen der Endung (der Text nach dem
  99. letzten Punkt) durch "map" ergibt.
  100. Wenn eine map-Datei gefunden wurde wird dies im Konsolenfenster mitgeteilt.
  101.  
  102. Beispiele für Dateinamen:
  103.  
  104. Bilddatei: picture.jpeg      map-Datei: picture.jpeg.map oder picture.map
  105.            pic1.jpg          map-Datei: pic1.jpg.map     oder pic1.map
  106.  
  107. Map-Dateien werden außerdem noch in dem Verzeichnis gesucht, auf das die
  108. Umgebungsvariable MAPDIR weist. (Neu in Version 1.1)
  109.  
  110.  
  111. Optionen:
  112. *********
  113.  
  114. Die Optionen dürfen in beliebiger Reihenfolge stehen, die Groß- und Klein-
  115. schreibung ist beliebig. Werden Optionen weggelassen dann werden interne
  116. Vorgabewerte angenommen. 
  117.  
  118.  
  119.  
  120. -GRAY
  121.  
  122. Die Anzeige erfolgt stets im Graustufen Modus.
  123.  
  124.  
  125. -BS
  126.  
  127. Es wird ein sog. "block-smoothing" verwendet. Diese Option ist nur dann anzu-
  128. wenden wenn die Codierung mit sehr niedriger Qualität erfolgte. Auf dem Bild-
  129. schirm sind dann einzelne Blöcke mit nahezu konstanter Farbe zu sehen. Bei Ver-
  130. wendung dieser Option werden die Kanten dieser Blöcke etwas verwaschen damit
  131. sie nicht so auffallen.
  132. Die Option sollte tatsächlich nur in diesem Fall verwendet werden.
  133.  
  134.  
  135. -VGA
  136.  
  137. Beim Anzeigen des Bildes wird der VGA-Monitortreiber (auch Multiscan genannt)
  138. verwendet.
  139. Die Option -VGA ist dann zu setzen wenn bekannt ist, daß das Bild für die An-
  140. zeige auf einem PC oder auf einem anderen Rechner mit quadratischer Auflösung
  141. des Bildschirms vorgesehen war. (Dies trifft für fast alle JPEG-Bilder zu.)
  142. Apropos quadratische Auflösung: Hier gibt es leider viele Mißverständnisse so
  143. daß ich näher darauf eingehen werde:
  144.  
  145. Unter "quadratisch" ist nicht gemeint daß auf dem Bildschirm in horizontaler
  146. und vertikaler Richtung genau gleich viele Bildpunkte vorhanden sind. 
  147. (z.B. 1024x1024) Es ist gemeint daß ein Quadrat bestehend aus z.B. 100x100
  148. Bildpunkten auf dem Monitor ebenfalls als Quadrat zu sehen ist. Da das Seiten-
  149. verhältnis einer üblichen Bildröhre 4:3 beträgt (angelehnt and die internatio-
  150. nale Fernsehnorm) muß auch die horizontale und vertikale Auflösung Vielfache
  151. davon betragen. (z.B. 640x480 da
  152.  
  153.  640   4
  154.  --- = - )
  155.  480   3
  156.  
  157. Nur so ist gewährleistet daß ein solches Bild verzerrungsfrei dargestellt
  158. wird.
  159.  
  160.  
  161. -SUPER72    (Neu in Version 1.1) 
  162.  
  163. Diese Option wird nur dann akzeptiert wenn auch -VGA angegeben wurde. Bei sehr
  164. großen Bildern wird dann der SUPER72 Bildschirmmodus verwendet. Bei vielen
  165. Monitoren muß aber der SUPER72-Monitortreiber angepaßt  werden (z.B. mit dem
  166. Programm "moned") damit sich eine quadratische Auflösung ergibt. 
  167.  
  168.  
  169.  
  170. Außerdem habe ich das Programm "djpeg" beigelegt, mit dem man JPEG-Bilder in
  171. das ppm-Format umwandeln kann. (Es ist auch zur Erzeugung der map-Dateien er-
  172. forderlich)
  173.  
  174. Aufruf:  djpeg Eingabedatei Ausgabedatei
  175.  
  176. Bei der direkten Umwandlung in das GIF-Format muß man JPEGTMP: mit einem assign-
  177. Befehl zuweisen (z.B. assign JPEGTMP: HD:T) da djpeg eventuelle temporäre
  178. Dateien dorthin ablegt. Alles weitere ist der zugehörigen Anleitung zu ent-
  179. nehmen. Wenn ich mal Zeit habe werde ich die JPEG-Routinen in ppm2AGA einbauen
  180. so daß dieses Programm dann nicht mehr benötigt wird.
  181.  
  182. Der Vollständigkeit halber ist noch das Programm "cjpeg" vorhanden, mit dem man
  183. selber JPEG-Dateien erzeugen kann.
  184. Eine Beschreibung von djpeg und cjpeg findet man in der Datei USAGE.
  185.  
  186.  
  187. Erzeugung der map-Dateien
  188. *************************
  189.  
  190. Diese Dateien sind unbedingt erforderlich damit die Anzeige in der best-
  191. möglichen Qualität erfolgt. Sie werden im Normalfall durch das Shell-Skript
  192. CreateMap erzeugt. Der Aufruf lautet:
  193.  
  194.  CreateMap Bilddatei
  195.  
  196. Bei erfolgreicher Ausführung wird eine map-Datei mit korrektem Namen erzeugt.
  197. (auch auf PC-Dateisystemen) Man kann auch mehrere Dateien mit einem Aufruf er-
  198. zeugen. So werden z.B. durch den Befehl
  199.  
  200.  SPat CreateMap pictures/#?.jpg
  201.  
  202. alle Bilder mit der Endung .jpg im Verzeichnis pictures bearbeitet.
  203.  
  204. Falls es nicht möglich ist, die map-Datei an der gleichen Stelle wie das Bild
  205. abzuspeichern dann wird die map-Datei in dem Verzeichnis abgelegt, auf das die
  206. Umgebungsvariable MAPDIR weist. jpegAGA 1.1 wird sie dann ebenfalls dort
  207. suchen. Das Setzen der Umgebungsvariablen kann z.B. erfolgen mit dem Befehl:
  208.  
  209.  setenv MAPDIR HD:tempdir
  210.  
  211. Die Variable geht dann allerdings nach einem Zurücksetzen des Rechners verlo-
  212. ren. Man kann sie dauerhaft sichern mit dem Befehl:
  213.  
  214.  copy ENV:MAPDIR ENVARC:
  215.  
  216. Somit ist es möglich auch Bilder von einer CD-ROM in optimaler Qualität anzu-
  217. zeigen.
  218.  
  219.  
  220. Bei Auftauchen von Problemen ist folgendes zu prüfen:
  221.  
  222. - Wurde wie im Abschnitt "Installation" beschrieben alles erforderliche 
  223.   installiert ?
  224.  
  225.   Benötigt werden die Programme djpeg sowie ppm2AGA die sich im Suchpfad der
  226.   Shell unter diesem Namen befinden müssen. Im LIBS: Verzeichnis muß sich die
  227.   ixemul.library befinden. Das Shell-Skript selbst muß im S: Verzeichnis sein.
  228.  
  229.   Achtung: - ppm2AGA muß die Version 1.4 oder höher aufweisen
  230.            - nur djpeg aus dieser Distribution verwenden
  231.  
  232.  
  233. - Ist das Verzeichnis JPEGTMP: korrekt zugewiesen ?
  234.  
  235.  
  236. - Reicht der Speicherplatz auf der Festplattenpartition, auf die JPEGTMP:
  237.   weist, aus ?
  238.  
  239.   Bei sehr großen Bildern können sogar mehr als 10MB benötigt werden.
  240.  
  241.  
  242. - Ist genug Arbeitsspeicher vorhanden ?
  243.  
  244.   Falls nicht kann man den benötigten Arbeitsspeicher reduzieren indem man beim
  245.   Aufruf des Shell-Skripts die Option -M0 angibt. (Näheres siehe Beschreibung 
  246.   von ppm2AGA)
  247.  
  248.   Beispiel: CreateMap pic.jpg -M0   oder   SPat CreateMap #?.jpg -M0
  249.  
  250.   Der erforderliche Arbeitsspeicher ist bei Verwendung der -M0 Option nahezu
  251.   unabhängig von der Größe des Bildes.
  252.  
  253. - Ist die Diskette, auf der sich das JPEG-Bild befindet, schreibgeschützt oder
  254.   ist zu wenig Speicherplatz vorhanden ?
  255.  
  256. - Wurde die Umgebungsvariable MAPDIR korrekt gesetzt ? Man kann dies überprüfen
  257.   mit dem Befehl: getenv MAPDIR
  258.  
  259.  
  260. Das Shell-Skript kann stets durch Eingabe von CTRL-C abgebrochen werden.
  261. Temporäre Dateien im Verzeichnis JPEGTMP: werden bei Abbruch oder Beendigung
  262. automatisch gelöscht.
  263.  
  264.  
  265.  
  266. Der Anzeigebildschirm
  267. *********************
  268.  
  269. Durch Bewegen der Maus kann der Bildausschnitt verschoben werden, falls das
  270. Bild größer als der Overscan-Bereich ist. Bei Farbanzeige treten leider Stö-
  271. rungen am linken Bildrand auf, die durch das HAM-Verfahren bedingt sind.
  272.  
  273. Der Bildschirm hat außerdem eine voll funktionsfähige Ziehleiste sowie einen
  274. Vordergrund/Hintergrund-Schalter, die allerdings unsichtbar sind.
  275.  
  276. Durch Druck auf die rechte Maustaste wird die Anzeige beendet bzw. abgebrochen.
  277. Da auf die linke Maustaste nicht reagiert wird kann man während der Berechnung
  278. des Bildes einen anderen Bildschirm aktivieren und erst später den Anzeigebild-
  279. schirm durch Drücken der linken Maustaste erneut aktivieren.
  280.  
  281.  
  282.  
  283.  
  284. Solltest Du weitere Fragen haben so kannst Du mir jederzeit schreiben. Ich
  285. werde mich bemühen alle Zuschriften zu beantworten.
  286. Falls Du einen Fehler im Programm entdecken solltest (oder Mungwall/Enforcer-
  287. Meldungen) so bitte ich ebenfalls um eine Benachrichtigung.
  288.  
  289.  
  290.  
  291. Entstehungsgeschichte
  292. *********************
  293.  
  294. 1.0 - 3. Juni 1994
  295.  
  296.     - erste veröffentlichte Version
  297.  
  298. 1.1 - 5. Oktober 1994
  299.  
  300.     - die Option -SUPER72 wurde hinzugefügt
  301.  
  302.     - beim Schließen des Grafikbildschirms ist jetzt kein Flackern mehr zu sehen
  303.       und die Verzögerung ist geringer
  304.  
  305.     - map-Dateien werden auch in dem Verzeichnis gesucht, auf das die Umge-
  306.       bungsvariable MAPDIR weist
  307.  
  308.     - falls keine map-Datei gefunden wurde wird der Benutzer darauf hingewiesen
  309.       daß er eine erzeugen sollte
  310.  
  311.     - es werden jetzt beliebig lange Dateinamen (inklusive Pfad) akzeptiert
  312.  
  313.  
  314. Aufruf
  315. ******
  316.  
  317. Wie Du sicher gemerkt hast bietet das Programm bislang nicht sehr viel, es gibt
  318. noch viel zu tun. Meine Zeit ist leider begrenzt. (Ich studiere derzeit Elektro-
  319. technik an der Uni Stuttgart.) Aus diesem Grund suche ich weitere Programmierer
  320. die bereit sind, mit mir zusammenzuarbeiten sowie Beta-Tester für die fertigen
  321. Programme. Wenn Du mitmachen willst dann melde dich bitte. Ich werde dann auch
  322. eine ausführliche Beschreibung des Quelltextes erstellen. Einige Projekte 
  323. können aber auch völlig unabhängig voneinander realisiert werden.
  324.  
  325. Für die Neukompilierung von ppm2AGA ist das newiff-Paket von Commodore zwingend
  326. erforderlich. Die Version 37 ist auf der Fish-Disk 705 zu finden, die Version 39
  327. ist auf den "3.1 Amiga Developer Update" - Disketten vorhanden. (Bezugsquelle
  328. siehe unten) oder auch im Aminet.
  329.  
  330. Als nächstes habe ich vor einen PhotoCD-Anzeiger/Konverter mit der Bildqualität
  331. von jpegAGA/ppm2AGA zu programmieren. Mit den Routinen die ich bereits habe
  332. dürfte dies kein Problem sein. Es wird ebenfalls ein frei kopierbares Programm
  333. sein und ich werde auch den vollständigen Quelltext veröffentlichen.
  334. Wenn Du Interesse an einem solchen Programm hast dann wäre es nett wenn Du mir
  335. einige PhotoCDs zu Testzwecken leihen würdest. Du bekommst sie zurück zusammen
  336. mit meinem Anzeiger/Konverter sobald er läuft. Falls Du sie mir schenken soll-
  337. test dann freut es mich natürlich noch mehr und als Belohnung wird Dein Name
  338. in der Anleitung erwähnt werden. (Und Du bekommst natürlich auch das Programm
  339. zugeschickt.)
  340.  
  341.  
  342. Alle Zuschriften sind an die folgenden Adressen zu richten:
  343.  
  344.   Elektronische Post:                               Normale Post:
  345.   *******************                               *************
  346.  
  347.  Guenther@studbox.uni-stuttgart.de                  Günther Röhrich
  348.      (Internet EMAIL)                               Lerchenbergstr. 4
  349.                                                     D-73733 Esslingen
  350.  
  351.  
  352.  
  353. Falls Du innerhalb von drei Wochen keine Antwort auf eine EMAIL bekommst
  354. so versuche es über die normale Post noch einmal.
  355.  
  356.  
  357. Bezugsquellen
  358. *************
  359.  
  360. Gute Bilder im JPEG-Format findet man in rauhen Mengen in:
  361.  
  362.          ftp.uni-stuttgart.de in pub/graphics/pictures
  363.  
  364.  
  365. Das newiff-Paket, Version 39, findet man in:
  366.  
  367.          ftp.uni-stuttgart.de in pub/systems/amiga/aminet/gfx/misc
  368.  
  369. sowie auf allen anderen Aminet-Servern. Wenn Du dazu keinen Zugang hast dann
  370. kannst Du es auch direkt von mir bekommen.
  371.  
  372.  
  373. Das "3.1 Amiga Developer Update" ist erhältlich bei:
  374.  
  375.       Hirsch & Wolf oHG
  376.       Mittelstr. 33
  377.       D-56564 Neuwied
  378.       Tel.: 02631-8399-0
  379.       Fax:  02631-839931
  380.  
  381. und kostet 50 DM. Da Commodore aber inzwischen aufgelöst ist weiß ich nicht ob
  382. und wie lange es noch verfügbar ist.
  383.  
  384. Siehe auch die Datei "Info.Developer"
  385.